﻿namespace DA6502.CPU
{
    using addr = System.UInt16;

    /// <summary>
    /// MOS6502处理器总线设备接口
    /// </summary>
    public interface IBusDevice
    {
        /// <summary>
        /// 从设备中读一个字节，使用设备自己的地址。总线负责地址转换
        /// </summary>
        /// <param name="address">地址</param>
        /// <returns>读出的字节</returns>
        byte ReadByte(addr address);

        /// <summary>
        /// 向设备中写一个字节，使用设备自己的地址。总线负责地址转换
        /// </summary>
        /// <param name="address">地址</param>
        /// <param name="value">要写入的字节</param>
        void WriteByte(addr address, byte value);


        byte this[addr ad] { get; set; }
    }
}
